package com.yungu.swift.system.sys.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.model.PageVo;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.system.sys.model.dto.SysAccountAgentDto;
import com.yungu.swift.system.finance.model.param.AdminAccountFlowPageParam;
import com.yungu.swift.system.finance.model.param.AdminAccountPageParam;
import com.yungu.swift.system.sys.model.vo.SysAgentAccountFlowVo;
import com.yungu.swift.system.sys.model.vo.SysAgentAccountVo;

import java.util.List;

public interface SysAccountAgentService extends BaseService<SysAccountAgentDto> {

    /**
     * 代理账户查询
     *
     * @param agentAccountPageParam
     * @return
     */
    ResponseData<PageVo<SysAgentAccountVo>> queryPageVo(AdminAccountPageParam agentAccountPageParam);


    /**
     * 代理账号查询 —— 导出
     *
     * @param accountPageParam
     * @return
     */
    ResponseData<List<SysAgentAccountVo>> export(AdminAccountPageParam accountPageParam);


    /**
     * 查询代理数量及账号总额
     *
     * @param accountPageParam
     * @return
     */
    ResponseData<SysAgentAccountVo> statistics(AdminAccountPageParam accountPageParam);

    /**
     * 查询代理账户流水明细
     *
     * @param flowPageParam
     * @return
     */
    ResponseData<PageVo<SysAgentAccountFlowVo>> flowQueryPage(AdminAccountFlowPageParam flowPageParam);

    /**
     * 查询代理账户流水明细 —— 导出
     *
     * @param flowPageParam
     * @return
     */
    ResponseData<List<SysAgentAccountFlowVo>> flowExport(AdminAccountFlowPageParam flowPageParam);
}